// $Id: partitionnode.h 61 2004-10-22 13:41:50Z hansemil $
#ifndef NODEPARTITION_H
#define NODEPARTITION_H

//#include "nodevanilla.h"
#include "node.h"
#include "file.h"
#include <list>

/**
 * This is a base class for the classes that divide Freenet into partitions.
 */
class PartitionNode : public virtual Node {
public:
	PartitionNode();

	virtual bool requestFile(Node *, NodeRequestFileParameters *) = 0;

protected:
	virtual void discriminateRequestOrderList(std::list<KeyDistanceHelper> &) = 0;
	virtual void discriminateRequestOrderListPartition(std::list<KeyDistanceHelper> &, int);

private:
};

#endif
